Kontextwechsel

Kontextwechsel oder Taskswitching (englisch context switch) nennt man den Vorgang in einem Betriebssystem, bei dem die Bearbeitung des aktuellen Prozesses (oder auch Threads, Tasks oder Programms) unterbrochen wird (z. B. nach einer festgelegten Zeitspanne durch einen Timer-Interrupt oder bei Systemaufrufen) und zu einer anderen Routine gewechselt wird. Dabei wird der Kontext (im Wesentlichen die Prozessor-Register) des aktuellen Prozesses/Threads/Tasks gesichert und der Kontext des neuen wiederhergestellt. Durch diesen Vorgang wird Multitasking ermöglicht, da sich so mehrere Prozesse im Zeit-Multiplexverfahren abwechselnd auf einem einzelnen CPU-Kern ausführen lassen. Beim Benutzer entsteht der Eindruck, mehrere Prozesse würden tatsächlich gleichzeitig ausgeführt werden.

Kontextwechsel sind meist zeitintensiv und daher wird das Design von Betriebssystemen dahingehend optimiert, möglichst wenig Kontextwechsel durchzuführen. Das Wechseln von einem Prozess zum nächsten erfordert einen gewissen administrativen Aufwand, etwa das Speichern und Laden von Registern und internen Tabellen zur Verwaltung der Prozesse.

Die Strategie für den Kontextwechsel wird vom Scheduler festgelegt, während die Durchführung selbst vom Dispatcher vorgenommen wird.


© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search